#ifndef SKINWINDOW_H
#define SKINWINDOW_H

#include <QDialog>
#include <QMap>
#include <QSignalMapper>
#include "skinitem.h"

// 图片信息结构体
struct ImageInfo
{
    QString name;
    QString author;
    QString path;
    SkinItemWidget* item;
};

namespace Ui {
class SkinWindow;
}

class SkinWindow : public QDialog
{
    Q_OBJECT

public:
    explicit SkinWindow(QWidget *parent = 0);
    ~SkinWindow();

    // 初始化UI界面
    void initSkinWindow();
    // 显示窗口并添加动画效果
    void showWgAnimation();
    // 初始化皮肤缩略图
    void initSkinThumbnail();
    // 缩略图事件处理
    void imageItemClicked(const QString &text);
    QLayout* initOpacityWidget();

protected:
    void paintEvent(QPaintEvent* e);

private:
    Ui::SkinWindow *ui;
    QMap<QString, ImageInfo> m_imgInfo;
    QSignalMapper* m_mapper;
    SkinItemWidget* m_curItem;
};

#endif // SKINWINDOW_H
